Apparatus method and system for characterizing a communications channel and increasing data througput

ABSTRACT

In contrast to prior are solutions that conduct an averaging operation to estimate metrics related to a communications channel such as a signal-to-noise ratio, the present invention selects a particular value such as a minimum, maximum, or median value from a distribution of values collected over a selected interval. Selecting a particular value from the distribution of values facilitates a more accurate characterization process and increased data throughput. To reduce the processing burden associated with selecting a particular value, the present invention provides a set of cascaded value selection queues that each selects a particular value from the queued values such as a minimum value. The cascaded queues are also successively sub-sampled to reduce the computing resources required to characterize the communications channel. The estimated metrics resulting from the above-described process may be used to adjust the data encoding process and increase data throughput on the communications channel.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to data communication means and methods.Specifically, the invention relates to apparatus, methods, and systemsfor characterizing a communications channel to improve data throughput.

2. Description of the Related Art

Communication channels bear information between a sender and receiverand facilitate a wide range of interaction and information transferssuch as verbal conversations, text messaging, document transfer,transaction processing, and the like. While most modem communication isconducted digitally, the lowest levels of communication generallyinvolve generating and detecting units of information called symbolsusing analog means. Often such symbols are communicated via a dispersiveand noisy media that degrades the signal as it is propagated. Theability to properly receive a transmitted symbol requires allocatingsufficient bandwidth and energy to maintain the integrity of the symbolalong the entire propagation path.

FIG. 1 is a block diagram depicting certain aspects of a typical priorart communications system 100. As depicted, the prior art communicationssystem 100 includes an encoder 120 and a decoder 140 equipped with acharacterization module 150 such as a signal-to-noise estimator. Theencoder 120 receives a data stream 110 which is encoded for transmissionover a dispersive and noisy communications channel 130. The encoded datastream is decoded to reconstruct the data stream 110. Due to degradationof the encoded data stream and the resulting communication errors,reconstruction of the data stream 110 may require retransmission ofportions of the data stream 110. Such retransmissions are typicallyexpensive and significantly reduce the throughput attained on thecommunications channel 130.

According to the well known information theorem of Shannon, the maximumdata throughput that may be attained on a communications channel 130 isproportional to the bandwidth of the medium and the signal-to-noiseratio (SNR) experienced by the receiver. To optimize data throughput,the communications system 100 may be equipped with a characterizationmodule 150 that characterizes a communication channel's attributes suchas bandwidth and signal-to-noise ratio in order to maximize informationthroughput on the communications channel 130.

In the depicted embodiment, the characterization module 150 monitors thedecoding process within the decoder 140, and provides characterizationdata 160 to the encoder 120 to optimize the encoding process for thecommunications channel 130. Often such characterization data isinitially collected during a training session in which known signals aretransmitted across a communications channel. By using the known signalas a reference, and comparing it to what is received, the receiving sidecharacterizes the channel and noise conditions. Once a channel has beencharacterized, a calculation may be conducted to estimate the number ofbits or symbols that can be successfully transmitted from the sender tothe receiver. In many systems, channels are periodically or continuouslycharacterized during operation to adjust to changing conditions channelconditions.

Accurate characterization of the communications channel 130,particularly the signal-to-noise ratio of the channel, is essential tomaximizing the actual throughput of information. For example, if theactual noise is less than the estimated noise, some of the channelcapacity remains unused. On the other hand, if the actual noise isgreater than the

estimated noise, the communication channel would be incapable of bearingthe amount of information that is sent resulting in errors andretransmissions.

In the depicted arrangement, a single transmission channel is depicted.Often, data communication is partitioned into multiple subchannels andassembled at the receiving end. For example, communication betweencentral offices and subscribers is often conducted using multi-toneencoding techniques in which the available spectrum of the channel isdivided into frequency sub-bands or tones and each sub-band or tonecarries information in parallel with the other sub-bands or tones.

With multi-tone encoding techniques, the ability to characterize eachsub-band and adjust to changing channel conditions may significantlyincrease the throughput attainable on the transmission medium.Unfortunately, many mediums such as subscriber lines connected tocentral offices may experience impulse noises (typically shorter than200 microseconds). Such impulse noise may occur frequently enough tocause transmission errors yet infrequently enough that such impulses areaveraged out and not accurately captured in the characterization data.The result is substantially reduced performance due to the poorcharacterization data.

To address the issue of poor characterization data in such systems, arelatively large noise margin may be allocated to each subchannel ortone. Under such a scenario, a transmission error occurs only when thetotal noise (including the impulse noise) exceeds the noise margin.However, such a strategy is less than optimal in that impulse noise istypically not equal in all sub-bands (i.e. white in spectral content)and the amount of needed noise margin may vary for each sub-band ortone. In other words, those tones that experience greater impulse noiseshould be allocated a larger noise margin than those tones thatexperience less impulse noise.

Given the aforementioned issues and challenges related to datacommunication and the shortcomings of currently available solutions, aneed exists for an apparatus, method, and system for characterizing acommunications channel and improving data throughput. Beneficially, suchan apparatus, method, and system would account for impulse noise in thecharacterization process and facilitate increased data throughput on acommunications channel in an efficient effective manner.

SUMMARY OF THE INVENTION

The present invention has been developed in response to the presentstate of the art, and in particular, in response to the problems andneeds in the art that have not yet been fully solved by currentlyavailable data communication means and methods. Accordingly, the presentinvention has been developed to provide an apparatus, method, and systemfor improving communications throughput that overcome many or all of theabove-discussed shortcomings in the art. The provided apparatus, method,and system may be used to accurately characterize a communicationschannel and thereby increase information throughput.

In one aspect of the present invention, an apparatus for improvingcommunications throughput includes a measurement module configured tomeasure a plurality of signal-to-noise values for a communicationschannel, and a value selection module configured to receive thesignal-to-noise values and select a particular value such as a minimumvalue to provide an estimated signal-to-noise value. The apparatus mayalso include a channel encoder configured to adjust channel encoding inresponse to a change in the estimated signal-to-noise value. In contrastto prior art solutions which typically conduct an averaging operation toprovide an estimated signal-to-noise ratio, selecting a particularsignal-to-noise value such as the minimum value facilitates accuratelyaccounting for impulse noise in the channel characterization process.

In certain embodiments, the value selection module includes a set ofvalue selection queues arranged in a cascaded manner such that eachvalue selection queue buffers multiple values and selects a particularvalue such as a minimum value for insertion into a subsequent queue. Inone embodiment, the measurement module comprises a noise estimatorconfigured to estimate a noise level and a signal estimator configuredto estimate a signal level. The measurement module may also include anaveraging module configured to conduct an averaging operation on themeasured values previous to placement in the value selection queues.

In another aspect of the present invention, a method for improvingcommunications throughput includes measuring a plurality ofsignal-to-noise values for a communications channel, selecting aparticular value of the plurality of signal-to-noise values to providean estimated signal-to-noise value, and adjusting a channel encoding inresponse to a change in the selected signal-to-noise value. Theparticular value selected by the method may be a minimum or maximumvalue.

In one embodiment, selecting a particular value of the plurality ofsignal-to-noise values includes queuing a plurality of values, providinga sub-sampled sequence of first selected values from the plurality ofvalues, queuing a plurality of the first selected values, and providinga sub-sampled sequence of second selected values from the sub-sampledsequence of first selected values. Queuing and selecting in asub-sampled manner reduces the amount of processing involved inselecting a particular value from a long sequence of values such as aminimum, median, or maximum value.

Various elements of the present invention may be combined into a systemarranged to carry out the functions or steps presented above. In oneembodiment, the system includes a communications channel configured tobear information, a measurement module configured to repetitivelymeasure a signal-to-noise value for the communications channel, a valueselection module configured to receive a set of signal-to-noise valuesand select a particular value to provide an estimated signal-to-noisevalue, a channel encoder configured to adjust a channel encoding processin response to a change in the estimated signal-to-noise value. Incertain embodiments, such as applications where data retransmission isrelatively frequent or expensive, the particular value may be a minimumvalue. In other embodiments, such as applications where dataretransmission is relatively infrequent or inexpensive, the particularvalue may be a maximum value.

In another aspect of the present invention, an apparatus for computingstatistical information for a plurality of numerical values includes afirst selection queue configured to queue a plurality of values andprovide a first selected value from the plurality of values, and asecond value selection queue configured to queue a plurality of firstselected values and provide a second selected value from the pluralityof first selected values. The first and second selected values may beminimum, maximum, or median values.

Similarly, a method for computing statistical information for aplurality of numerical values includes queuing a plurality of values,selecting a first selected value from the plurality of values, queuing aplurality of first selected values, and selecting a second selectedvalue from the plurality of first selected values.

The present invention facilitates characterizing a communicationschannel and improving throughput using fewer computing resources and maybe embodied in hardware or software form or some combination thereof.These and other features and advantages of the present invention willbecome more fully apparent from the following description and appendedclaims, or may be learned by the practice of the invention as set forthhereinafter.

It should be noted that reference throughout this specification tofeatures, advantages, or similar language does not imply that all of thefeatures and advantages that may be realized with the present inventionshould be or are in any single embodiment of the invention. Rather,language referring to the features and advantages is understood to meanthat a specific feature, advantage, or characteristic described inconnection with an embodiment is included in at least one embodiment ofthe present invention. Thus, discussion of the features and advantages,and similar language, throughout this specification may, but do notnecessarily, refer to the same embodiment.

Furthermore, the described features, advantages, and characteristics ofthe invention may be combined in any suitable manner in one or moreembodiments. One skilled in the relevant art will recognize that theinvention can be practiced without one or more of the specific featuresor advantages of a particular embodiment. In other instances, additionalfeatures and advantages may be recognized in certain embodiments thatmay not be present in all embodiments of the invention.

BRIEF DESCRIPTION OF THE DRAWINGS

In order that the advantages of the invention will be readilyunderstood, a more particular description of the invention brieflydescribed above will be rendered by reference to specific embodimentsthat are illustrated in the appended drawings. Understanding that thesedrawings depict only typical embodiments of the invention and are nottherefore to be considered to be limiting of its scope, the inventionwill be described and explained with additional specificity and detailthrough the use of the accompanying drawings, in which:

FIG. 1 is a block diagram depicting certain aspects of a typical priorart communications system;

FIG. 2 is a block diagram depicting one embodiment of a channelcharacterization module of the present invention;

FIG. 3 is a block diagram depicting one embodiment of a value selectionmodule of the present invention;

FIG. 4 is a flow chart diagram depicting one embodiment of a channelcharacterization method of the present invention; and

FIG. 5 is a block diagram depicting operational results for a particularembodiment of the value selection module of the present invention.

DETAILED DESCRIPTION OF THE INVENTION

It will be readily understood that the components of the presentinvention, as generally described and illustrated in the Figures herein,may be arranged and designed in a wide variety of differentconfigurations. Thus, the following more detailed description of theembodiments of the apparatus, method, and system of the presentinvention, as represented in FIGS. 1 through 5, is not intended to limitthe scope of the invention, as claimed, but is merely representative ofselected embodiments of the invention.

Many of the functional units described in this specification have beenlabeled as modules, in order to more particularly emphasize theirimplementation independence. A module may be implemented via digital oranalog circuits and components. For example, a module may be implementedas hardware circuit comprising custom VLSI circuits or gate arrays,off-the-shelf semiconductors such as logic chips, transistors, or otherdiscrete components. A module may also be implemented in programmablehardware devices such as field programmable gate arrays, programmablearray logic, programmable logic devices or the like.

Modules may also be implemented in software for execution by varioustypes of processors. An identified module of executable code may, forinstance, comprise one or more physical or logical blocks of computerinstructions which may, for instance, be organized as an object,procedure, or function. Nevertheless, the executables of an identifiedmodule need not be physically located together, but may comprisedisparate instructions stored in different locations which, when joinedlogically together, comprise the module and achieve the stated purposefor the module.

Indeed, a module of executable code could be a single instruction, ormany instructions, and may even be distributed over several differentcode segments, among different programs, and across several memorydevices. Similarly, operational data may be identified and illustratedherein within modules, and may be embodied in any suitable form andorganized within any suitable type of data structure. The operationaldata may be collected as a single data set, or may be distributed overdifferent locations including over different storage devices, and mayexist, at least partially, merely as electronic signals on a system ornetwork.

In the following description, numerous specific details are provided,such as examples of programming, software modules, user selections,network transactions, database queries, database structures, hardwaremodules, hardware circuits, hardware chips, etc., to provide a thoroughunderstanding of embodiments of the invention. One skilled in therelevant art will recognize, however, that the invention can bepracticed without one or more of the specific details, or with othermethods, components, materials, and so forth. In other instances,well-known structures, materials, or operations are not shown ordescribed in detail to avoid obscuring aspects of the invention.

The features, structures, or characteristics of the invention describedthroughout this specification may be combined in any suitable manner inone or more embodiments. For example, reference throughout thisspecification to “one embodiment,” “an embodiment,” or similar languagemeans that a particular feature, structure, or characteristic describedin connection with the embodiment is included in at least one embodimentof the present invention. Thus, appearances of the phrases “in oneembodiment,” “in an embodiment,” or similar language throughout thisspecification do not necessarily all refer to the same embodiment andthe described features, structures, or characteristics may be combinedin any suitable manner in one or more embodiments.

The present invention sets forth an apparatus, system and method forcharacterizing a communications channel. In contrast to prior artsolutions which typically conduct an averaging operation to provide anestimated signal-to-noise ratio the present selects a particular valuesuch as the minimum value in a manner that facilitates accuratelyaccounting for impulse noise and the like. Specifically, the presentinvention facilitates computing and tracking (over a relatively longinterval) various parameters associated with communications channelssuch as signal-to-noise ratio and efficiently selecting a particularvalue (from the distribution of values collected over that interval)such as a minimum, maximum, or median value.

FIG. 2 is a block diagram depicting a channel characterization module ofthe present invention. As depicted, the channel characterization module200 includes a measurement module 210, an optional averaging module 220,and a value selection module 230. The channel characterization module200 extracts one or more parameters 212 associated with a communicationschannel 202 and provides one or more metrics 232 that characterize thecommunications channel. In certain embodiment, the channelcharacterization module 200 may be configured to function as an improvedcharacterization module 150.

The measurement module 210 may provide multiple measurements of aparticular parameter 212 associated with the communications channel. Themeasurement module 210 may conduct operations digitally or via analogmeans. For example, in one embodiment the measurement module measures asignal error and provides a series of error values associated withestimating a signal. In another embodiment, the measurement module 210is essentially an A/D converter that samples a signal or parameterassociated therewith.

The optional averaging module 220 is preferably configured to conduct anaveraging operation on the sequence of parameters 212 provided by themeasurement module 210 and to provide an averaged value 222 for theparticular parameter 212. In one embodiment, the averaging operation isa root-mean-square (rms) calculation. In other embodiments, theaveraging operation is a leaky integrator or a low pass filter. Incertain embodiments, the averaging operation may not be needed and theaveraging module 220 may be bypassed.

The value selection module 230 is preferably configured to receive asequence of parameters 212 or averaged values 222 corresponding to aninterval of interest and selects a particular value as a representativevalue or channel metric 232. In one embodiment, the measurement module210 is configured to provide a series of signal-to-noise values measuredfrom a communications channel, the value selection module 230 isconfigured to select a minimum value over an interval of interest, andthe interval of interest is selected to long enough to provide stableoperation while short enough to “forget” old data and facilitate dynamicadjustment to changing channel conditions. In the aforementionedembodiment, the channel characterization module 200 may function as thecharacterization module 150 depicted in FIG. 1.

In the depicted embodiment, the value selection module 230 includes aset of value selection queues 240 arranged in a cascaded manner. Eachvalue selection queue 230 buffers a number of values and provides aselected value. The selected value provided by the last queue in acascaded set of queues is provided as the channel metric 232. Selectingand providing selected values via a set of cascaded queues facilitatesconducting a statistical operation on the sequence of parameters 212 oraveraged values 222 such as determining a minimum, maximum, or medianvalue.

FIG. 3 is a block diagram depicting one embodiment of the valueselection module 300 of the present invention. As depicted, the valueselection module 300 includes a number of value selection queues 310arranged in a cascaded manner. The value selection module 300 is oneexample of the value selection module 230 depicted in FIG. 2.

Each value selection queue 310 includes a selection module 320 thatselects a particular value within the queue for presentation to the nextqueue. For example, the selection module may select a value meetingparticular criteria such as the minimum, maximum, or median value withinthe queue. In certain embodiments, the selection module may selectmultiples values for presentation to the next queue. For example, theselection module may select both a minimum and a maximum value.

In the depicted arrangement, the initial queue 310 a receives aparameter or averaged parameter from a measurement module 210, anaveraging module 220, or the like, and the last queue 310 n provides aprocessed result such as the channel metric 232. The cascadedarrangement of the queues facilitates computing metrics involving a longsequence of values using reduced resources. The length of the queues(each queue may have a different length) and the number of cascadedsections are selected for the needs of the particular application.

In certain embodiments, each queue 310 subsamples the previous queue inorder to reduce the number of operations and increase the effectivelength of the cascaded queues. In the depicted embodiment with queues oflength four, queue 310 b need only capture the output of queue 310 aevery fourth value. In such subsampled embodiments, the effective lengthof the cascaded queues approaches the product of the length of theindividual queues. For example, the task of finding the minimum value ofa sequence of 256 values may be accomplished with two queues of length16 or four queues of length 4 instead of one queue of length 256.

FIG. 4 is a flow chart diagram depicting one embodiment of a channelcharacterization method 400 of the present invention. As depicted, thechannel characterization method 400 includes a measure parameter step410, a sufficient data test 420, an optional calculate average step 430,a queue values step 440, a select value step 450, and a more stages test460, and a provide results step 470. The characterization method 400 maybe conducted in conjunction with or independent of the channelcharacterization module 200 depicted in FIG. 2 and the value selectionmodule 300 depicted in FIG. 3.

The measure parameter step 410 measures and/or derives a parameterassociated with a communications channel such as a signal-to-noiseratio. The sufficient data test 420 ascertains whether a sufficientnumber of measurements have been accumulated to calculate an averagevalue. If not, step 410 is repeated. Otherwise, the method proceeds tothe calculate average step 430.

The optional calculate average step 430 calculates an average value forthe measured data. With certain parameters such as those related tosinusoidal signals, the calculated average may be an rms value. Incertain embodiments, the calculate average step 430 may not be necessaryand may be skipped.

The queue value step 440 inserts a parameter value such as the averagevalue into a queue. The select value step 450 selects a particular valuefrom the queue such as the minimum, maximum, or median value forpresentation to a subsequent stage. The more stages test 460 ascertainswhether more (cascaded) queuing stages need to be serviced.

If test 460 is affirmative, the method loops to the queue value step 440and continues processing on a subsequent stage. Steps 440 and 450 andtest 460 are repeated until all the queuing stages are serviced and test460 is no longer affirmative. Subsequently, the method proceeds to theprovide results step 470. The provide results step 470 provides theselected value from the last queuing stage as the computed result andthe method ends 480.

FIG. 5 is a block diagram depicting operational results for a particularembodiment of the value selection module 300. As depicted, theoperational results include an input data stream 510, a set of firststage values 520, a set of second stage values 530, a set of third stagevalues 540, and a set of results values 550. In the depicted example,the length of each queue within the value selection module is threesamples, and a minimum, median, and maximum value are computed for theinput data stream 510.

As depicted, the first stage value selection queue 310 a has receivednumeric values 3, 7, and 1 (the tail of the input data stream 510) andselected the numeric value 1 as the minimum, numeric value 3 as themedian, and numeric value 7 as the maximum. The selected values arereceived by the second stage value selection queue 310 b and compare toother queued values to select a minimum, median, and maximum value. Inthe depicted example, numeric value 0 is selected as the minimum fromthe group of 1,0, and 4, numeric value 3 is selected as the median fromthe group of 3, 2, and 5, and numeric value 9 is selected as the maximumfrom the group of 7, 3, and 9.

The final result of the cascaded queuing and selection process is thatnumeric value 0 is selected as the minimum value, numeric value 4 isselected as the median value, and numeric value 9 is selected as themaximum value. While numeric values 0 and 9 are the true minimum andmaximum values, the true median in the example is actually the numericvalue 5—an artifact of processing with multiple stages having shortqueue lengths. However, under many conditions the selected medianapproaches the true median and may be computed with far fewer numericoperations.

The present invention facilitates conducting processing operationsuseful for characterizing a communications channel and improvingthroughput using fewer computing resources. The present invention may beembodied in other specific forms without departing from its spirit oressential characteristics. The described embodiments are to beconsidered in all respects only as illustrative and not restrictive. Thescope of the invention is, therefore, indicated by the appended claimsrather than by the foregoing description. All changes which come withinthe meaning and range of equivalency of the claims are to be embracedwithin their scope.

1. An apparatus for improving communications throughput, the apparatuscomprising: a measurement module configured to measure a plurality ofsignal-to-noise values for a communications channel; and a valueselection module configured to receive the plurality of signal-to-noisevalues and select a particular value to provide an estimatedsignal-to-noise value.
 2. The apparatus of claim 1, further comprising achannel encoder configured to adjust channel encoding in response to achange in the estimated signal-to-noise value.
 3. The apparatus of claim1, wherein the particular value is a minimum value.
 4. The apparatus ofclaim 1, wherein the particular value is a maximum value.
 5. Theapparatus of claim 1, wherein the value selection module comprises aplurality of value selection queues in a cascaded arrangement, eachvalue selection queue configured to queue a plurality of values andprovide a selected value from the plurality of values.
 6. The apparatusof claim 1, wherein the measurement module comprises a noise estimatorconfigured to estimate a noise level.
 7. The apparatus of claim 1,wherein the measurement module comprises a signal estimator configuredto estimate a signal level.
 8. The apparatus of claim 1, wherein themeasurement module comprises a signal sampler configured to sample achannel signal.
 9. The apparatus of claim 1, wherein the measurementmodule comprises an averaging module configured to average a pluralityof values.
 10. The apparatus of claim 9, wherein the averaging module isconfigured to calculate an rms value.
 11. A method for improvingcommunications throughput, the method comprising: measuring a pluralityof signal-to-noise values for a communications channel; selecting aparticular value of the plurality of signal-to-noise values to providean estimated signal-to-noise value; and adjusting a channel encoding inresponse to a change in the selected signal-to-noise value.
 12. Themethod of claim 11, wherein the particular value is a minimum value. 13.The method of claim 11, wherein the particular value is a maximum value.14. The method of claim 11, wherein selecting a particular valuecomprises: queuing a plurality of values; providing a first selectedvalue from the plurality of values; queuing a plurality of firstselected values; and providing a second selected value from theplurality of first selected values.
 15. The method of claim 11, furthercomprising estimating a noise level.
 16. The method of claim 11, furthercomprising estimating a signal level.
 17. The method of claim 11,further comprising averaging a plurality of channel metrics.
 18. Themethod of claim 11, wherein the averaging comprises calculating an rmsvalue.
 19. The method of claim 11, wherein measuring comprises samplinga signal.
 20. The method of claim 11, wherein measuring comprisescomputing an error signal.
 21. An apparatus for characterizing acommunications channel, the apparatus comprising: means for measuring aplurality of signal-to-noise values for a communications channel; meansfor selecting a particular value of the plurality of signal-to-noisevalues to provide a selected signal-to-noise value; and means foradjusting a channel encoding in response to a change in the selectedsignal-to-noise value.
 22. A system for characterizing a communicationschannel, the system comprising: a communications channel configured tobear information; a measurement module configured to measure a pluralityof signal-to-noise values for the communications channel; a valueselection module configured to receive the plurality of signal-to-noisevalues and select a particular value to provide an estimatedsignal-to-noise value; and a channel encoder configured to adjust achannel encoding process in response to a change in the estimatedsignal-to-noise value.
 23. A computer readable storage medium comprisingcomputer readable program code configured to carry out a method forcharacterizing a communications channel, the method comprising:measuring a plurality of signal-to-noise values for a communicationschannel; selecting a particular value of the plurality ofsignal-to-noise values to provide a selected signal-to-noise value; andadjusting a channel encoding-in response to a change in the selectedsignal-to-noise value.
 24. An apparatus for computing statisticalinformation for a plurality of numerical values the apparatuscomprising: a first value selection queue configured to queue aplurality of values and provide a first selected value from theplurality of values; and a second value selection queue configured toqueue a plurality of first selected values and provide a second selectedvalue from the plurality of first selected values.
 25. The apparatus ofclaim 24, wherein the first selected value comprises a value selectedfrom the group consisting of a minimum value, a maximum value, and amedian value.
 26. The apparatus of claim 24, wherein the second selectedvalue comprises a value selected from the group consisting of a minimumvalue, a maximum value, and a median value.
 27. A method for computingstatistical information for a plurality of numerical values, the methodcomprising: queuing a plurality of values; and selecting a firstselected value from the plurality of values; queuing a plurality offirst selected values; and selecting a second selected value from theplurality of first selected values.
 28. The method of claim 27, whereinthe first selected value comprises a value selected from the groupconsisting of a minimum value, a maximum value, and a median value. 29.The method of claim 27, wherein the second selected value comprises avalue selected from the group consisting of a minimum value, a maximumvalue, and a median value.